<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>星盘解析 | 详细分析</title>
    <style>
        /* 基础样式重置 */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            /* 禁用移动端点击蒙层效果 */
            -webkit-tap-highlight-color: transparent;
            tap-highlight-color: transparent;
            outline: none;
        }

        /* 为可点击元素添加特定样式 */
        button,
        [class$="-btn"],
        .zodiac-sign,
        .chart-center,
        .planet,
        .house,
        a,
        [role="button"] {
            /* 禁用移动端点击蒙层效果 */
            -webkit-tap-highlight-color: transparent;
            tap-highlight-color: transparent;
            /* 防止文本选择 */
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
            user-select: none;
            outline: none;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: #0a0e17;
            color: #ffffff;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 0;
            overflow-x: hidden;
            overflow-y: auto; /* 允许垂直滚动 */
        }
        
        /* 在iframe中显示时特殊处理 */
        body.in-iframe {
            padding: 20px;
        }

        /* 隐藏所有元素的滚动条但允许滚动 */
        html {
            scrollbar-width: none; /* Firefox */
            -ms-overflow-style: none; /* IE and Edge */
        }

        body {
            scrollbar-width: none; /* Firefox */
            -ms-overflow-style: none; /* IE and Edge */
        }

        /* Chrome, Safari and Opera */
        html::-webkit-scrollbar,
        body::-webkit-scrollbar {
            display: none;
        }

        /* 确保所有可滚动元素也隐藏滚动条 */
        * {
            scrollbar-width: none; /* Firefox */
        }

        *::-webkit-scrollbar {
            display: none; /* Chrome, Safari, Edge */
        }

        /* 页面标题 */
        header {
            text-align: center;
            margin-bottom: 30px;
            z-index: 10;
        }

        h1 {
            font-size: 2.5rem;
            margin-bottom: 10px;
            background: linear-gradient(90deg, #ff6b6b, #feca57, #48dbfb, #1dd1a1, #c8d6e5);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            background-size: 300% 300%;
            animation: gradient 15s ease infinite;
        }

        @keyframes gradient {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        .subtitle {
            color: #b2bec3;
            font-size: 1.1rem;
            max-width: 600px;
        }

        /* 信息面板 */
        .info-content {
            background: rgba(17, 24, 39, 0.8);
            backdrop-filter: blur(10px);
            border-radius: 12px;
            padding: 20px;
            margin: 20px auto;
            width: 90%;
            max-width: 600px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .info-tabs {
            display: flex;
            gap: 10px;
            margin-bottom: 15px;
            overflow-x: auto;
            padding-bottom: 10px;
            scroll-behavior: smooth;
            -webkit-overflow-scrolling: touch;
        }

        .info-tab {
            background: rgba(30, 41, 59, 0.8);
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: white;
            padding: 8px 16px;
            border-radius: 20px;
            cursor: pointer;
            transition: all 0.3s ease;
            font-size: 0.9rem;
            white-space: nowrap;
        }

        .info-tab:hover {
            background: rgba(59, 130, 246, 0.5);
            transform: translateY(-2px);
        }

        .info-tab.active {
            background: rgba(59, 130, 246, 0.8);
            border-color: rgba(255, 255, 255, 0.5);
            box-shadow: 0 0 10px rgba(59, 130, 246, 0.5);
        }

        .tab-content {
            display: none;
        }

        .tab-content.active {
            display: block;
        }

        .info-header {
            display: flex;
            align-items: center;
            margin-bottom: 15px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            padding-bottom: 10px;
        }

        .info-icon {
            font-size: 2rem;
            margin-right: 15px;
        }

        .info-title {
            flex-grow: 1;
        }

        .info-name {
            font-size: 1.5rem;
            margin-bottom: 5px;
        }

        .info-details {
            color: #b2bec3;
            font-size: 0.9rem;
        }

        .info-text {
            font-size: 1rem;
            line-height: 1.6;
            color: #e9ecef;
            margin-bottom: 15px;
        }

        /* 星星背景 */
        .stars {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
        }

        .star {
            position: absolute;
            background-color: white;
            border-radius: 50%;
            animation: twinkle 2s infinite alternate;
        }

        @keyframes twinkle {
            from { opacity: 0.3; }
            to { opacity: 1; }
        }

        /* 响应式调整 */
        @media (max-width: 768px) {
            h1 {
                font-size: 2rem;
            }

            .subtitle {
                font-size: 1rem;
            }

            .info-content {
                padding: 15px;
            }

            .info-name {
                font-size: 1.3rem;
            }

            .info-text {
                font-size: 0.9rem;
            }

            .info-tab {
                padding: 7px 14px;
                font-size: 0.85rem;
            }
        }

        @media (max-width: 480px) {
            .info-tabs {
                gap: 8px;
            }
        }
    </style>
</head>
<body>
<!-- 星星背景 (将通过JS动态生成) -->
<div class="stars"></div>

<header>
    <h1>星盘解析</h1>
    <p class="subtitle">深入分析你的星盘，探索宇宙对你的影响</p>
</header>

<!-- 信息面板 -->
<div class="info-content">
    <div class="info-tabs">
        <button class="info-tab active" data-tab="overview">概览解析</button>
        <button class="info-tab" data-tab="zodiac">星座解析</button>
        <button class="info-tab" data-tab="house">宫位解析</button>
        <button class="info-tab" data-tab="planet">行星解析</button>
    </div>
    
    <div id="overview" class="tab-content active">
        <div class="info-header">
            <div class="info-icon">🌟</div>
            <div class="info-title">
                <div class="info-name">星盘概览</div>
                <div class="info-details">个人星盘的整体解读</div>
            </div>
        </div>
        <div class="info-text">
            星盘是你出生时天空中行星位置的映射，它揭示了你的性格特点、潜在能力和人生轨迹。通过分析星盘的各个组成部分，我们可以更深入地了解自己和周围的世界。
        </div>
        <div class="info-text">
            星盘由12个星座、12个宫位和各大行星组成，它们之间的相互关系形成了独特的宇宙蓝图。这个概览将帮助你理解星盘的基本结构和主要特征。
        </div>
    </div>
    
    <div id="zodiac" class="tab-content">
        <div class="info-header">
            <div class="info-icon">♈</div>
            <div class="info-title">
                <div class="info-name">星座解析</div>
                <div class="info-details">黄道十二宫的详细解读</div>
            </div>
        </div>
        <div class="info-text">
            黄道十二宫代表了天空中太阳每年经过的路径上的12个星座。每个星座都有其独特的象征意义和能量特点。通过了解各个星座在你星盘中的位置，你可以更好地理解自己的性格和行为模式。
        </div>
        <div class="info-text">
            星座不仅仅是你的太阳星座，还包括月亮星座、上升星座和其他行星所在的星座位置。这些共同构成了你的完整星座图谱。
        </div>
    </div>
    
    <div id="house" class="tab-content">
        <div class="info-header">
            <div class="info-icon">🏠</div>
            <div class="info-title">
                <div class="info-name">宫位解析</div>
                <div class="info-details">星盘十二宫的人生领域</div>
            </div>
        </div>
        <div class="info-text">
            星盘的12个宫位代表了人生的不同领域，从自我认同到人际关系，从事业到精神追求。每个宫位都与特定的生活方面相关联，行星在这些宫位中的位置揭示了这些领域的能量重点。
        </div>
        <div class="info-text">
            第一宫代表自我认同，第二宫代表财富和价值观，第三宫代表沟通和学习，依此类推。通过分析各宫位的行星配置，我们可以了解不同生活领域的特点和挑战。
        </div>
    </div>
    
    <div id="planet" class="tab-content">
        <div class="info-header">
            <div class="info-icon">🪐</div>
            <div class="info-title">
                <div class="info-name">行星解析</div>
                <div class="info-details">太阳系行星的能量解读</div>
            </div>
        </div>
        <div class="info-text">
            行星是星盘中最活跃的元素，它们代表了不同的能量和驱动力。太阳代表自我，月亮代表情感，水星代表思维和沟通，金星代表爱与美，火星代表行动和欲望，木星代表成长和扩张，土星代表责任和限制，天王星代表变革，海王星代表梦想，冥王星代表转化。
        </div>
        <div class="info-text">
            这些行星在星盘中的位置和相互关系，揭示了你的内在动力、情感需求、思维方式和行为模式。通过理解行星的影响，你可以更好地发挥自己的优势，应对生活中的挑战。
        </div>
    </div>
</div>

<script>
    // 生成星星背景
    function createStars() {
        const starsContainer = document.querySelector('.stars');
        const starCount = 150;

        for (let i = 0; i < starCount; i++) {
            const star = document.createElement('div');
            star.classList.add('star');

            // 随机位置
            const x = Math.random() * 100;
            const y = Math.random() * 100;

            // 随机大小
            const size = Math.random() * 2 + 1;

            // 随机闪烁延迟
            const delay = Math.random() * 3;

            star.style.left = `${x}%`;
            star.style.top = `${y}%`;
            star.style.width = `${size}px`;
            star.style.height = `${size}px`;
            star.style.animationDelay = `${delay}s`;

            starsContainer.appendChild(star);
        }
    }

    // 切换信息选项卡
    function switchTab(tabId) {
        const tabs = document.querySelectorAll('.info-tab');
        const tabContents = document.querySelectorAll('.tab-content');

        tabs.forEach(tab => {
            tab.classList.remove('active');
            if (tab.getAttribute('data-tab') === tabId) {
                tab.classList.add('active');
            }
        });

        tabContents.forEach(content => {
            content.classList.remove('active');
            if (content.id === tabId) {
                content.classList.add('active');
            }
        });
    }

    // 添加事件监听器
    function addEventListeners() {
        // 选项卡切换
        document.querySelectorAll('.info-tab').forEach(tab => {
            tab.addEventListener('click', () => {
                switchTab(tab.getAttribute('data-tab'));
            });
        });
    }

    // 优化滑动体验的函数
    function optimizeScrolling() {
        // 1. 通过CSS设置触摸行为，允许垂直滑动
        document.body.style.touchAction = 'pan-y';
        document.body.style.overscrollBehavior = 'contain';

        // 2. 定义变量用于触摸控制
        let startX = null;
        let startY = null;
        let isVerticalScrolling = false;
        const HORIZONTAL_THRESHOLD = 10; // 放宽水平滑动检测阈值
        const VERTICAL_MIN_DISTANCE = 5; // 垂直滑动最小距离

        // 触摸开始事件
        document.addEventListener('touchstart', (e) => {
            startX = e.touches[0].clientX;
            startY = e.touches[0].clientY;
            isVerticalScrolling = false;
        }, { passive: true });

        // 触摸移动事件 - 优化版，优先保证垂直滑动体验
        document.addEventListener('touchmove', (e) => {
            if (!startX || !startY) return;

            // 计算滑动距离
            const touchX = e.touches[0].clientX;
            const touchY = e.touches[0].clientY;
            const diffX = Math.abs(touchX - startX);
            const diffY = Math.abs(touchY - startY);

            // 确定是否为垂直滚动
            if (!isVerticalScrolling && diffY > VERTICAL_MIN_DISTANCE) {
                isVerticalScrolling = true;
            }

            // 只有当明显是水平滑动时才阻止
            if (!isVerticalScrolling && diffX > HORIZONTAL_THRESHOLD && diffX > diffY) {
                e.preventDefault();
            }
            // 如果已经确定为垂直滚动，则允许继续滚动
            // 这里不使用passive: false可以提高性能
        }, { passive: true });

        // 3. 确保body可以自由扩展高度
        document.body.style.minHeight = '100vh';
        document.documentElement.style.minHeight = '100vh';

        // 4. 为信息面板添加额外的滚动保障
        const infoContent = document.querySelector('.info-content');
        if (infoContent) {
            infoContent.style.zIndex = '10';
            infoContent.style.position = 'relative';
        }
    }

    // 页面加载完成后初始化
    window.addEventListener('load', () => {
        createStars();
        addEventListeners();
        optimizeScrolling(); // 优化滑动体验
        
        // 如果是在iframe中加载，添加in-iframe类
        if (window.self !== window.top) {
            document.body.classList.add('in-iframe');
        }
    });
</script>
</body>
</html>